<?php
/**
 * Created by PhpStorm.
 * User: wangjiaming
 * Date: 2020/12/21
 * Time: 9:49
 */

//使用之前需要安装分词器否则这只检索配置那步就会报错
//安装方法：进入 elasticsearch 安装目录下的 bin\ 目录，在此目录打开命令行窗口，输入下面代码安装IK分词器插件,XXX 自己替换版本号 liunx 使用es用户安装，超级用户会报错
//elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.8.5/elasticsearch-analysis-ik-6.8.5.zip

require './Tool/ElasticsearchFulltextTool.php';

//初始化
$client = new ElasticsearchFulltextTool('ip','9200');

//创建索引
$params = [
	'index' => 'test',   ## 索引：数据库
];

//$return = $client->createIndex($params);
//echo $return;

//删除索引
$params = [
	'index' => 'my_index',   ## 索引：数据库
];
//$return = $client->deleteIndex($params);
//print_r($return);


$client->setParams('test','user'); //设置数据库及表

//设置全文检索的配置 mapping

$data = [ ## 尽量正确写对字段的数据类型，以及相关配置，否则后续排序，可能会报错！！
	'title'=>'text', ## 字段title，字段类型string
	'content'=>'text',  ## 字段content，字段类型text　
	'add_time'=>'long'  ## 字段add_time，字段类型long，数字类型
];
//$return = $client->setMapping($data);


//添加数据
$data = [
	'id'=>'7',
	'title'=>'我是标题7', ## 字段title，字段值
	'content'=>'我是内容7', ## 字段content，字段值　
	'add_time'=>'1608539484' ## 字段添加时间，字段值　
];

//$return = $client->add($data);
//die();
//简单搜索
$data = [
	'content'=>'内容4'
];

$return = $client->search($data);

//复杂搜索 （+“分页”，+“排序”）
$data = [
	'condition'=>[
		'fulltext'=>[
			'title,content'=>'标题' ## 多个字段（title、content）同时满足某一个查询条件，多个字段用“,”隔开！
		],
		//'gt'=>[  ## 设定gt为等于条件的，用于筛选数据！
		//	'id'=>'6'
		//]
	],
	'es_size'=>'15', ## 每页显示15条
	'es_from'=>'0', ## 从第几条开始，从0开始
	'es_sort'=>'add_time' ## 自定义的排序字段
];

//$return = $client->searchMulit($data);
//
//echo "<pre/>";
//print_r($return);

////删除数据
//
//$return = $client->delete(3);

